package com.xu.modules.service;

import com.xu.common.domain.PageQuery;
import com.xu.common.domain.TableDataInfo;
import com.xu.common.enums.ArticleNumTypeEnum;
import com.xu.modules.entity.ArticleEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xu.modules.service.bo.ArticleBo;
import com.xu.modules.service.vo.ArticleVo;

/**
 * <p>
 * 文章 服务类
 * </p>
 *
 * @author xu
 * @since 2022-07-26
 */
public interface ArticleService extends IService<ArticleEntity> {

    /**
     * 文章新增
     */
    void add(ArticleBo articleBo);

    /**
     * 分页查询文章
     */
    TableDataInfo<ArticleVo> listPage(ArticleBo articleBo, PageQuery pageQuery);

    /**
     * 根据文章ID 查询详细信息
     */
    ArticleVo detail(Long articleId);

    /**
     * 增加点赞、评论、观看 数量
     */
    void addArticleNum(Long articleId, ArticleNumTypeEnum articleNumTypeEnum);
}
